The present invention relates generally to computing networks, and relates more particularly to determination of server response time in computing networks.
FIG. 1 is a schematic diagram illustrating a typical computing network 100. Network 100 comprises one or more clients 1021-102n (hereinafter referred to as “clients 102”) communicating with a server 106 via a network (e.g., an internet) 104. The server 106 executes transactions at the request of the clients 102, e.g., according to a specific application.
One of the most important metrics by which server performance is measured is the time that the server 106 takes to respond to client requests. Accurate measurement of server response time, as perceived by the clients 102, is essential for monitoring service-level agreements, client satisfaction, provisioning, and the like. However, it is difficult to implement conventional methods for determining client-perceived server response time in a manner that provides accurate measurement in a timely manner. For example, conventional methods typically measure only a portion of the total server response time (e.g., they do not account for delays due to connection setup, waiting in kernel queues, web objects residing outside of the server 106, or other network problems that might affect client-perceived response time), or they are unusable for real-time analysis of large log files (e.g., as when the analysis is performed offline). Other methods, while more timely and more generally accurate, do not account for packet loss, which can affect client-perceived server response time, nor do they work under high-speed packet streams.
Thus, there is a need in the art for a method and apparatus for determining client-perceived server response time.